home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-02-13 | 9.2 KB | 424 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: ODObject.xh.
- * Generated using:
- * SOM Precompiler somipc: 2.18
- * SOM Emitter emitxh.dll: 2.33
- */
-
- /*
- *
- * Classes defined in this interface
- *
- */
-
-
- #ifndef SOM_M_ODObject_xh
- #define SOM_M_ODObject_xh
-
- class M_ODObject;
-
- #define M_ODObject_MajorVersion 0
- #define M_ODObject_MinorVersion 0
-
- /* C++ SOM defs */
- #include <somcls.xh>
- #include <somcm.xh>
-
- /* C++ parent defs */
- #ifndef SOM_SOMClass_xh
- #include <somcls.xh>
- #endif
-
- #ifndef M_ODObject_API
- #define M_ODObject_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- class SOMClass;
- class SOMObject;
- class ODFrame;
- class ODFacet;
- class ODObject;
- class ODExtension;
-
- /*
- * End of user-defined types.
- */
-
- /*
- * -- M_ODObject is a metaclass for ODObject. Make sure ODObject is known.
- */
- class ODObject;
-
-
- #ifdef OLDIBMSOMAPISUPPORT
- #define M_ODObjectCClassData M_ODObjectClassData
- #define M_ODObjectNewClass(major,minor) somNewVersionedClassReference(M_ODObject,major,minor)
- #endif
-
- /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
- #define M_ODObjectMetaClass SOMClass
-
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=power
- #endif
-
- /* The API to the M_ODObject class object, and the methods it introduces. */
- SOMEXTERN struct M_ODObjectClassDataStructure {
- #ifdef OLDIBMSOMAPISUPPORT
- SOMClass *classObject; /* always zero, use somNewClassReference instead */
- #else
- long zero;
- #endif
- somStaticClassInfo *sci;
- somDToken instanceDataToken;
- long reserved [3];
- } SOMDLINK M_ODObjectClassData;
-
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=reset
- #endif
-
- #if !defined(ODObject_Class_Source) && !defined(M_ODObject_Class_Source) && !defined(SOM_Module_odobject_Source)
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import list M_ODObjectClassData
- #endif
- #endif
-
-
- /*
- * -- Typedefs and inline method declarations for left path inherited methods
- * -- are omitted because this compilation had -museinheritedmethods in effect
- */
-
-
- /*
- * -- Typedefs for M_ODObject Method Procedures
- */
- SOMEXTERN {
-
- typedef ODObject* (* SOMLINK somTD_M_ODObject_somNew)(M_ODObject *somSelf);
- }
-
- #endif /* M_ODObject_API */
-
-
- /*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for M_ODObject
- */
- class M_ODObject : public SOMClass
- {
- public:
-
- // M_ODObject::new registers use of the class object, and then uses somNew
- // to allocate memory and load the object method table pointer.
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- // Allocate memory using the default allocator for M_ODObject, and
- // clear mem & set method table pointer, call basic initialization
- #ifdef SOMCHKNULL
- void * __somResult = (void *)
- somNewObject(M_ODObject);
- SOMCHKNULL(__somResult);
- return __somResult;
- #else
- return (void*) somNewObject(M_ODObject);
- #endif
- }
-
- // M_ODObject::delete uses the default deallocator for the object's class.
- void operator delete(void * obj)
- {
- if (obj) {
- SOM_Resolve(obj,SOMObject,somFree)
- ( (SOMObject*) obj );
- }
- }
-
-
- /* method: somNew */
- ODObject* somNew()
- {
- return SOM_ResolveD(this,M_ODObject,SOMClass,somNew)
- (this);
- }
-
- }; /* M_ODObject */
-
-
-
- #endif /* SOM_M_ODObject_xh */
-
- #ifndef SOM_ODObject_xh
- #define SOM_ODObject_xh
-
- class ODObject;
-
- #define ODObject_MajorVersion 1
- #define ODObject_MinorVersion 0
-
- /*
- * Passthru lines: File: "C.xh", "before"
- */
-
- #include <ODTypes.h>
-
-
-
- /* C++ SOM defs */
- #include <somcls.xh>
- #include <somcm.xh>
-
- /* C++ parent defs */
- #ifndef SOM_SOMObject_xh
- #include <somobj.xh>
- #endif
-
- #ifndef ODObject_API
- #define ODObject_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
-
- /*
- * End of user-defined types.
- */
-
- #ifdef OLDIBMSOMAPISUPPORT
- #define ODObjectCClassData ODObjectClassData
- #define ODObjectNewClass(major,minor) somNewVersionedClassReference(ODObject,major,minor)
- #endif
-
- /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
- #define ODObjectMetaClass M_ODObject
-
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=power
- #endif
-
- /* The API to the ODObject class object, and the methods it introduces. */
- SOMEXTERN struct ODObjectClassDataStructure {
- #ifdef OLDIBMSOMAPISUPPORT
- M_ODObject *classObject; /* always zero, use somNewClassReference instead */
- #else
- long zero;
- #endif
- somStaticClassInfo *sci;
- somDToken instanceDataToken;
- long reserved [3];
- somMToken InitObject;
- somMToken HasExtension;
- somMToken AcquireExtension;
- somMToken ReleaseExtension;
- somMToken Purge;
- somMToken IsEqualTo;
- somMToken SubClassResponsibility;
- } SOMDLINK ODObjectClassData;
-
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=reset
- #endif
-
- #if !defined(ODObject_Class_Source) && !defined(SOM_Module_odobject_Source)
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import list ODObjectClassData
- #endif
- #endif
-
-
- /*
- * -- Typedefs and inline method declarations for left path inherited methods
- * -- are omitted because this compilation had -museinheritedmethods in effect
- */
-
-
- /*
- * -- Typedefs for ODObject Method Procedures
- */
- SOMEXTERN {
- typedef void (* SOMLINK somTD_ODObject_InitObject)(ODObject *somSelf, Environment *ev);
- typedef ODBoolean (* SOMLINK somTD_ODObject_HasExtension)(ODObject *somSelf, Environment *ev,
- ODType extensionName);
- typedef ODExtension* (* SOMLINK somTD_ODObject_AcquireExtension)(ODObject *somSelf, Environment *ev,
- ODType extensionName);
- typedef void (* SOMLINK somTD_ODObject_ReleaseExtension)(ODObject *somSelf, Environment *ev,
- ODExtension* extension);
- typedef ODSize (* SOMLINK somTD_ODObject_Purge)(ODObject *somSelf, Environment *ev,
- ODSize size);
- typedef ODBoolean (* SOMLINK somTD_ODObject_IsEqualTo)(ODObject *somSelf, Environment *ev,
- ODObject* object);
- typedef void (* SOMLINK somTD_ODObject_SubClassResponsibility)(ODObject *somSelf, Environment *ev);
-
- typedef M_ODObject* (* SOMLINK somTD_ODObject_somGetClass)(ODObject *somSelf);
- }
-
- #endif /* ODObject_API */
-
-
- /*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for ODObject
- */
- class ODObject : public SOMObject
- {
- public:
-
- // ODObject::new registers use of the class object, and then uses somNew
- // to allocate memory and load the object method table pointer.
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- // Allocate memory using the default allocator for ODObject, and
- // clear mem & set method table pointer, call basic initialization
- #ifdef SOMCHKNULL
- void * __somResult = (void *)
- somNewObject(ODObject);
- SOMCHKNULL(__somResult);
- return __somResult;
- #else
- return (void*) somNewObject(ODObject);
- #endif
- }
-
- // ODObject::delete uses the default deallocator for the object's class.
- void operator delete(void * obj)
- {
- if (obj) {
- SOM_Resolve(obj,SOMObject,somFree)
- ( (SOMObject*) obj );
- }
- }
-
- /* method: InitObject */
- void InitObject(Environment *ev)
- {
- SOM_ResolveD(this,ODObject,ODObject,InitObject)
- (this,ev);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
-
- /* method: HasExtension */
- ODBoolean HasExtension(Environment *ev,
- ODType extensionName)
- {
- #ifdef SOMCHKEXCEPT
- ODBoolean __somResult =
- SOM_ResolveD(this,ODObject,ODObject,HasExtension)
- (this,ev,extensionName);
- SOMCHKEXCEPT;
- return __somResult;
- #else
- return SOM_ResolveD(this,ODObject,ODObject,HasExtension)
- (this,ev,extensionName);
- #endif
- }
-
- /* method: AcquireExtension */
- ODExtension* AcquireExtension(Environment *ev,
- ODType extensionName)
- {
- #ifdef SOMCHKEXCEPT
- ODExtension* __somResult =
- SOM_ResolveD(this,ODObject,ODObject,AcquireExtension)
- (this,ev,extensionName);
- SOMCHKEXCEPT;
- return __somResult;
- #else
- return SOM_ResolveD(this,ODObject,ODObject,AcquireExtension)
- (this,ev,extensionName);
- #endif
- }
-
- /* method: ReleaseExtension */
- void ReleaseExtension(Environment *ev,
- ODExtension* extension)
- {
- SOM_ResolveD(this,ODObject,ODObject,ReleaseExtension)
- (this,ev,extension);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
-
- /* method: Purge */
- ODSize Purge(Environment *ev,
- ODSize size)
- {
- #ifdef SOMCHKEXCEPT
- ODSize __somResult =
- SOM_ResolveD(this,ODObject,ODObject,Purge)
- (this,ev,size);
- SOMCHKEXCEPT;
- return __somResult;
- #else
- return SOM_ResolveD(this,ODObject,ODObject,Purge)
- (this,ev,size);
- #endif
- }
-
- /* method: IsEqualTo */
- ODBoolean IsEqualTo(Environment *ev,
- ODObject* object)
- {
- #ifdef SOMCHKEXCEPT
- ODBoolean __somResult =
- SOM_ResolveD(this,ODObject,ODObject,IsEqualTo)
- (this,ev,object);
- SOMCHKEXCEPT;
- return __somResult;
- #else
- return SOM_ResolveD(this,ODObject,ODObject,IsEqualTo)
- (this,ev,object);
- #endif
- }
-
- /* method: SubClassResponsibility */
- void SubClassResponsibility(Environment *ev)
- {
- SOM_ResolveD(this,ODObject,ODObject,SubClassResponsibility)
- (this,ev);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
-
-
- /* method: somGetClass */
- M_ODObject* somGetClass()
- {
- return SOM_ResolveD(this,ODObject,SOMObject,somGetClass)
- (this);
- }
-
- }; /* ODObject */
-
-
-
- #endif /* SOM_ODObject_xh */
-